package com.qianyu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qianyu.entity.base.BaseIdDto;
import com.qianyu.entity.bean.QqAccount;
import com.qianyu.entity.dto.QqAccountDto;
import com.qianyu.entity.vo.QqAccountVo;

import java.util.List;

public interface QqAccountService extends IService<QqAccount> {

    /**
     * 新增qq账号
     * @param dto
     * @return
     */
    boolean saveQqAccount(QqAccountDto.QqAccountSaveDto dto);

    /**
     * 分页筛选账号
     * @param dto
     * @return
     */
    Page<QqAccount> pageList(QqAccountDto.QqAccountPageDto dto);

    /**
     * 查询账号详情
     * @param dto
     * @return
     */
    QqAccount getInfo(BaseIdDto dto);

    /**
     * 获取未实名账号
     */
    QqAccountVo.QqAccountSimpleVo getNoAuthAccount();

    /**
     * 认证回调方法
     * @param dto
     * @return
     */
    boolean authAccount(QqAccountDto.QqAccountAuthDto dto);

    /**
     * 随机获取建号qq
     */
    QqAccount getRandomAccount();

    /**
     * 根据条件获取账号
     * @param role 身份:0=建群号,1=发包号,2=领包号 3-管理号 4-备用号
     * @param num 需要数量
     */
    List<QqAccount> getAccounts(Integer role,Integer num);

    /**
     * 冻结qq
     */
    boolean freezeAccount(String qq,String remark);

}
